package com.yilu.driver.mvp.contract;

import com.is.common.base.BaseModel;
import com.is.common.base.BasePresenter;
import com.is.common.base.BaseView;
import com.is.common.retrofitrxcache.RxCacheResult;
import com.yilu.driver.entity.TraineeListResponse;
import org.json.JSONObject;
import rx.Observable;

/**
 * 学员信息列表
 * @author Administrator
 * @date 2017/4/10 0010
 */

public interface TrainInfoListContract {
    /**
     * 请求获取学员信息列表
     */
    interface Model extends BaseModel{
        Observable<RxCacheResult<TraineeListResponse>> getTraineeInfoList(JSONObject json);
    }

    /**
     * 返回信息
     */
    interface View extends BaseView {
        void returnTrainListRefresh(TraineeListResponse traineeListResponse);
        void returnTrainListLoadMore(TraineeListResponse traineeListResponse);
    }

    /**
     * 发起获取学员信息列表请求
     */
    abstract class Presenter extends BasePresenter<View, Model> {
        public abstract void getTraineeInfoList(int event_tag,JSONObject json);
    }
}